using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;

namespace Graphics
{
    public class Studio
    {
        public Studio() 
        {
            maxDepth = 4;
            objectList = new List<Object3D>();
            lightList = new List<Light>();
        }

        public int MaxDepth()
        { 
            return maxDepth; 
        }
        public void SetMaxDepth( int depth) 
        { 
            maxDepth = depth; 
        }


        public List<Object3D> Objects
        {
            set{objectList = value;}
            get{return objectList;}
        }

        public List<Light> Lights
        {
            set{lightList = value;}
            get{return lightList;}
        }
        
        private List<Object3D> objectList;
        private List<Light> lightList;

        private int maxDepth; // Recursion maximum du rayon

    }
}

//#ifndef __STUDIO_H__
//#define __STUDIO_H__

//#include <stdlib.h>
//#include <iostream>

//#include <vector>

//#include "define.h"
//#include "mCGalgebra.h"
//#include "mCGtransform.h"
//#include "film.h"
//#include "form.h"
//#include "light.h"

//using namespace std; 

//class CStudio
//{
//public:
//    CStudio() {}

//    int MaxDepth() const { return m_maxDepth; }
//    void SetMaxDepth( int depth = 4 ) { m_maxDepth = depth; }

//    void Add( CObject * o ) { m_objectList.push_back(o); }
//    void Add( CLight * l ) { m_lightList.push_back(l); }

//    const vector<CObject *> & ObjectList() const { return m_objectList; }
//    const vector<CLight *> & LightList() const { return m_lightList; }

//private:
	
//    vector<CObject *> m_objectList; 
//    vector<CLight *> m_lightList; 
	
//    int m_maxDepth; // Recursion maximum du rayon
//};

//#endif /* __STUDIO_H__ */
